Software Techniques for Avoiding Hardware Virtualization Exits
نویسندگان
چکیده
On modern processors, hardware-assisted virtualization outperforms binary translation for most workloads. But hardware virtualization has a potential problem: virtualization exits are expensive. While hardware virtualization executes guest instructions at native speed, guest/VMM transitions can sap performance. Hardware designers attacked this problem both by reducing guest/VMM transition costs and by adding architectural extensions such as nested paging support to avoid exits. This paper proposes complementary software techniques for reducing the exit frequency. In the simplest form, our VMM inspects guest code dynamically to detect back-to-back pairs of instructions that both exit. By handling a pair of instructions when the first one exits, we save 50% of the transition costs. Then, we generalize from pairs to clusters of instructions that may include loops and other control flow. We use a binary translator to generate, and cache, custom translations for handling exits. The analysis cost is paid once, when the translation is generated, but amortized over all future executions. Our techniques have been fully implemented and validated in recent versions of VMware products. We show that clusters consistently reduce the number of exits for all examined workloads. When execution is dominated by exit costs, this translates into measurable runtime improvements. Most importantly, clusters enable substantial gains for nested virtual machines, delivering speedups as high as 1.52x. Intuitively, this result stems from the fact that transitions between the inner guest and VMM are extremely costly, as they are implemented in software by the outer VMM.
منابع مشابه
GPP virtualization: A comparison of software and hardware techniques for x86 virtualization
Initially, virtual machine (VM) meant a software abstraction with the looks of a computer system’s hardware. Now, VM can be seen as a layered abstraction over various places in the system including following levels of virtualization: hardware–level, operating system–level, and high–level language VMs. Hardware–level approach was the first attempt to implement virtualization. Several hardware VM...
متن کاملWorkshop on Dependability Issues on SDN and NFV (DISN)
Software-Defined Networks (SDN) and Network Function Virtualization (NFV) are two technologies that have already had a deep impact on computer and telecommunication networks. Software Defined Networks (SDN) decouple network control from forwarding functions, enabling network control to become directly programmable and the underlying infrastructure to be abstracted from applications and network ...
متن کاملEnabling Virtualization on Scalable Multicore Systems
Current trends in computer architecture encourage rethinking of the system software design principles. Recent research on operating systems (OS) indeed confirms that the scale, diversity and associated complexities of the emerging hardware represent a tremendous challenge. However, as the traditional OS design techniques get influenced by the modern hardware, virtualization being a well-establi...
متن کاملVirtualization Renaissance
ing from embedded to server systems. Enterprises commonly employ virtual LANs and private networks (VLANs, VPNs). System area networks use storage virtualization to simplify the management of complex, heterogeneous storage configurations. Virtualization technologies encompass a variety of mechanisms and techniques used to decouple the architecture and user-perceived behavior of hardware and sof...
متن کاملA Performance Survey of Lightweight Virtualization Techniques
The increasing prevalence of the microservice paradigm creates a new demand for low-overhead virtualization techniques. Complementing containerization, unikernels are emerging as alternative approaches. With both techniques undergoing rapid improvements, the current landscape of lightweight virtualization approaches presents a confusing scenery, complicating the task of choosing a suited techno...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2012